﻿using iWare.Wms.Core;
using iWare.Wms.Core.Service;
using System.ComponentModel.DataAnnotations;

namespace iWare.Wms.Application
{    
    
    /// <summary>
    /// 库存表查询参数
    /// </summary>
    public class WmsMaterialStockSearch : PageInputBase
    {
        /// <summary>
        /// 物料编号
        /// </summary>
        public virtual string Materialno { get; set; }
        
        /// <summary>
        /// 物料类别
        /// </summary>
        public virtual iWare.Wms.Core.Enum.MaterialType? Materialtype { get; set; }
        
        /// <summary>
        /// 物料批次
        /// </summary>
        public virtual string Materialbatch { get; set; }
        
        /// <summary>
        /// 物料名称
        /// </summary>
        public virtual string Materialname { get; set; }
        
        /// <summary>
        /// 物料规格
        /// </summary>
        public virtual string Materialspec { get; set; }
        
        /// <summary>
        /// 检验方式
        /// </summary>
        public virtual iWare.Wms.Core.Enum.MaterialInspection ?Inspectionmethod { get; set; }
        
        /// <summary>
        /// 单位类别
        /// </summary>
        public virtual iWare.Wms.Core.Enum.UnitType? Unittype { get; set; }
        
        /// <summary>
        /// 单位编号
        /// </summary>
        public virtual iWare.Wms.Core.Enum.UnitnoType? Unitno { get; set; }
        
        /// <summary>
        /// 库存数
        /// </summary>
        public virtual decimal? Stocknumber { get; set; }
        
        /// <summary>
        /// 库位编码
        /// </summary>
        public virtual string Placecode { get; set; }
        
        /// <summary>
        /// 托盘编码
        /// </summary>
        public virtual string Containercode { get; set; }
        
    }

    /// <summary>
    /// 库存表输入参数
    /// </summary>
    public class WmsMaterialStockInput
    {
        /// <summary>
        /// 物料编号
        /// </summary>
        public virtual string Materialno { get; set; }
        
        /// <summary>
        /// 物料类别
        /// </summary>
        public virtual iWare.Wms.Core.Enum.MaterialType Materialtype { get; set; }
        
        /// <summary>
        /// 物料批次
        /// </summary>
        public virtual string Materialbatch { get; set; }
        
        /// <summary>
        /// 物料名称
        /// </summary>
        public virtual string Materialname { get; set; }
        
        /// <summary>
        /// 物料规格
        /// </summary>
        public virtual string Materialspec { get; set; }
        
        /// <summary>
        /// 检验方式
        /// </summary>
        public virtual iWare.Wms.Core.Enum.MaterialInspection Inspectionmethod { get; set; }
        
        /// <summary>
        /// 单位类别
        /// </summary>
        public virtual iWare.Wms.Core.Enum.UnitType Unittype { get; set; }
        
        /// <summary>
        /// 单位编号
        /// </summary>
        public virtual iWare.Wms.Core.Enum.UnitnoType Unitno { get; set; }
        
        /// <summary>
        /// 库存数
        /// </summary>
        public virtual decimal Stocknumber { get; set; }
        
        /// <summary>
        /// 库位编码
        /// </summary>
        public virtual string Placecode { get; set; }
        
        /// <summary>
        /// 托盘编码
        /// </summary>
        public virtual string Containercode { get; set; }
        
    }

    public class AddWmsMaterialStockInput : WmsMaterialStockInput
    {
    }

    public class DeleteWmsMaterialStockInput : BaseId
    {
    }

    public class UpdateWmsMaterialStockInput : WmsMaterialStockInput
    {
        /// <summary>
        /// Id主键
        /// </summary>
        [Required(ErrorMessage = "Id主键不能为空")]
        public long Id { get; set; }
        
    }

    public class QueryeWmsMaterialStockInput : BaseId
    {

    }
}
